// 窗口加载完
window.onload = function () {
    var vue = new Vue({
        el : '#app', // 元素绑定
        data : { // 数据模型
            loginName : '', // 登录用户名
            redirectUrl : '', // 重定向的url
            carts : [], // 购物车数组
            totalEntity : {totalNum : 0, totalMoney : 0} ,// 总计实体
            addressList:[],//收件地址
            address:{},//选中的收货地址
            order:{paymentType:'1'}
        },
        methods : { // 操作方法
            // 获取登录用户名
            findLoginName (){
                // url编码
                this.redirectUrl = window.encodeURIComponent(location.href);

                // 发送异步请求
                axios.get("/user/showName").then((response) => {
                    // 获取响应数据
                    this.loginName = response.data.loginName;
                });
            },
            // 查询用户的购物车
            findCart (){
                // 发送异步请求
                axios.get("/cart/findCart").then((response) => {
                    // 获取响应数据
                    this.carts = response.data;

                    // 清空
                    this.totalEntity = {totalNum : 0, totalMoney : 0};
                    // 迭代用户的购物车数组
                    for (var cart of this.carts){
                        // 迭代商家购物车数组
                        for (var orderItem of cart.orderItems){
                            // 购买数量累加
                            this.totalEntity.totalNum += orderItem.num;
                            // 购买金额累加
                            this.totalEntity.totalMoney += orderItem.totalFee;

                        }
                    }
                });
            },
            // 购买数量加减与删除
            addCart (itemId, num){
                // 发送异步请求
                axios.get("/cart/addCart?itemId=" + itemId + "&num=" + num).then((response) => {
                    // 获取响应数据
                    if (response.data){
                        // 重新查询购物车
                        this.findCart();
                    }else {
                        alert("操作失败！");
                    }
                });
            },
            findAddressByUser:function () {
                axios.get("/order/findAddressByUser").then(function (response) {
                    vue.addressList = response.data;
                    vue.address = response.data[0];
                });
            },
            selectAddress:function (item) {
                this.address = item;
            },
            isSelectedAddress:function (item) {
               return this.address == item;
            },
            saveOrder:function () {
                //收货人地址
                this.order.receiverAreaName=this.address.address;
                //收货人手机号
                this.order.receiverMobile= this.address.mobile;
                //收货人
                this.order.receiver= this.address.contact;
                //设置订单来源(pc端)
                this.order.sourceType=2;
                //发送异步请求
                axios.post("/order/save",this.order)
                    .then(function (response) {
                        if (response.data) {
                            //如果是微信支付,跳到扫码支付页面
                            if(vue.order.paymentType==1){
                                location.href="/order/pay.html"
                            }else{
                                //货到付款
                                location.href="/order/paysuccess.html"
                            }
                        }else {
                            alert("订单提交失败,请检查网络");
                        }
                    });
            }
        },
        created : function () { // 创建生命周期
            this.findLoginName();
            this.findCart();
            this.findAddressByUser();
        }
    });
};